home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / powerd / modules.lha / modules / libraries / ahi_sub.m < prev    next >
Encoding:
Text File  |  2001-05-08  |  2.3 KB  |  77 lines

  1. /*
  2. **    $VER: ahi_sub.m 4.1 (2.4.97)
  3. **
  4. **    ahi/[driver].audio definitions
  5. **
  6. **    (C) Copyright 1994-1997 Martin Blom
  7. **    All Rights Reserved.
  8. **
  9. ** (TAB SIZE: 3)
  10. */
  11. /*****************************************************************************/
  12. MODULE    'utility/tagitem',
  13.             'utility/hooks',
  14.             'devices/ahi',
  15.             'libraries/iffparse'
  16.  
  17. /*****************************************************************************/
  18. /*** STRUCTURES */
  19. /* AHIAudioCtrlDrv */
  20. OBJECT AHIAudioCtrlDrv
  21.     AudioCtrl:AHIAudioCtrl,
  22.     Flags:ULONG,                /* See below for definition */
  23.     SoundFunc:PTR TO Hook,      /* AHIA_SoundFunc */
  24.     PlayerFunc:PTR TO Hook,     /* AHIA_PlayerFunc */
  25.     PlayerFreq:Fixed,           /* AHIA_PlayerFreq */
  26.     MinPlayerFreq:Fixed,        /* AHIA_MinPlayerFreq */
  27.     MaxPlayerFreq:Fixed,        /* AHIA_MaxPlayerFreq */
  28.     MixFreq:ULONG,              /* AHIA_MixFreq */
  29.     Channels:UWORD,             /* AHIA_Channels */
  30.     Sounds:UWORD,               /* AHIA_Sounds */
  31.     DriverData:PTR,             /* Unused. Store whatever you want here. */
  32.     MixerFunc:PTR TO Hook,      /* Mixing routine Hook */
  33.     SamplerFunc:PTR TO Hook,    /* Sampler routine Hook */
  34.     Obsolete:ULONG,
  35.     BuffSamples:ULONG,          /* Samples to mix this pass. */
  36.     MinBuffSamples:ULONG,       /* Min. samples to mix each pass. */
  37.     MaxBuffSamples:ULONG,       /* Max. samples to mix each pass. */
  38.     BuffSize:ULONG,             /* Buffer size ahiac_MixerFunc needs. */
  39.     BuffType:ULONG,             /* Buffer format (V2) */
  40.     PreTimer/*()(BOOL)*/,           /* Call before mixing (V4) */
  41.     PostTimer/*()*/                 /* Call after mixing (V4) */
  42.  
  43. /*** TAGS */
  44. CONST    AHIDB_UserBase=AHI_TagBase+500    /* Use for driver specific tags */
  45.  
  46. /*** DEFS */
  47. /* AHIsub_AllocAudio return flags */
  48. FLAG    AHISF_ERROR,
  49.         AHISF_MIXING,
  50.         AHISF_TIMING,
  51.         AHISF_KNOWSTEREO,
  52.         AHISF_KNOWHIFI,
  53.         AHISF_CANRECORD,
  54.         AHISF_CANPOSTPROCESS
  55.  
  56. /* AHIsub_Start() and AHIsub_Stop() flags */
  57. FLAG    AHIS_PLAY,
  58.         AHIS_RECORD
  59.  
  60. /* ahiac_Flags */
  61. FLAG    AHIAC_VOL,
  62.         AHIAC_PAN,
  63.         AHIAC_STEREO,
  64.         AHIAC_HIFI,
  65.         AHIAC_PINGPONG,
  66.         AHIAC_RECORD,
  67.         AHIAC_MULTTAB        /* Private! */
  68.  
  69. /* AHIsub_Set#? and AHIsub_(Un)LoadSound return code */
  70. CONST    AHIS_UNKNOWN=~0
  71.  
  72. /* IFF chunk names for the audio mode file */
  73. #define ID_AHIM         "AHIM"    /* AHI Modes */
  74. #define ID_AUDN         "AUDN"    /* AUDio driver Name */
  75. #define ID_AUDD         "AUDD"    /* AUDio driver Data */
  76. #define ID_AUDM         "AUDM"    /* AUDio Mode */
  77.